package InnerClass;
//成员内部类
public class MemberInnerClass {
    public static void main(String[] args) {
        Outer04 outer04 = new Outer04();
        outer04.t1();

        //外部其他类调用成员内部类的方法
        //1.
        Outer04.Inner04 inner04 = outer04.new Inner04();
        inner04.say();
        //2.在外部类中编写一个方法返回内部类的对象实例
        Outer04.Inner04 inner04Instance = outer04.gewInner04Instance();
        inner04Instance.say();


    }
}

class Outer04{
    private int n1 =10;
    public String name = "lihua";

    //成员内部类
    //2.可以添加任意访问修饰符，因为他就是一个成员
    public class Inner04{
        public void say(){
            //1.可以直接访问外部成员，包括私有
            System.out.println("n1=" + n1 + " name=" + name);
        }
    }
//外部类要想使用内部类，要创建内部类的对象，然后调用
    public void t1(){
        Inner04 inner04 = new Inner04();
        inner04.say();
    }
//方法返回内部类对象实例
    public Inner04 gewInner04Instance(){
        return new Inner04();
    }
}


